\chapter*{前言}\label{sec-preface}
\markboth{前言}{前言}

正则表达式是一种有效的字符串匹配策略，它在程序设计中有着重要的作用。特别是
在数据有效性校验、字符串提取等程序开发工作中经常会用到正则表达式。

本书基于菲利普·海泽(Philip Hazel)用\cl 编写，开源发布的PCRE2%
(Perl Compatible Regular Expressions，perl语言兼容正则表达式)正则表达式库，
说明了在ANSI C环境下实现正则表达式编程的基本方法。并通过整数范围有效性判断、
电话号码有效性判断、整数重复数字判断、找最亲近同学、比压牌和牌型分类等6个
典型应用示例演示使用PCRE2正则库解决实际问题的方法。

本书并未系统讲解\cl 语法，也未对PCRE2库函数及其它内容进行全面说明，仅针对%
PCRE2库的基本使用方法进行了简单说明。旨在让已经具备\cl 基础的读者能够使用
正则表达式处理实际问题。同时也可以为承担\cl{}程序设计教学的教师提供必要的参考。

本书的撰写基于笔者编写的《说C解C》中提出的内存观、代码观和调试观的程序设计
\enquote{三观}的理念，并参阅了大量在线资料和共享文档。本书采用了
ElegantBook \LaTeX{}模板实现排版。在此一并表示原作者表示衷心的感谢！

鉴于笔者的学识水平有限，书中谬误之处在所难免，敬请读者不吝指正。

\vfill
\begin{flushright}
  \newlength{\lablen}
  \setlength{\lablen}{\widthof{\today}}
  \makebox[\the\lablen][c]{耿楠}\\
  \makebox[\the\lablen][c]{\today}\\
  \makebox[\the\lablen][c]{陕西杨凌}
\end{flushright}
\vfill
